package com.ylyq.ylxx.model.bean;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @ClassName OceanengineCustomAudience
 * @Description TODO
 * @Author xiaweichao
 * @Date 2020/7/13 15:38
 * @Version 1.0
 */
@NoArgsConstructor
@Data
@ApiModel(value = "获取人群包列表返回参数")
public class OceanengineCustomAudience {
    /**
     * message : OK
     * code : 0
     * data : {"list":[{"id":1,"name":"xxxxxx","num":100}]}
     * request_id : XXX
     */

    private String message;
    private int code;
    private DataBean data;
    private String request_id;

    /**
     * status : 8
     * name : xxx
     * custom_audience_id : 0
     * source : CUSTOM_AUDIENCE_TYPE_RULE
     * tag : xxx
     * isdel : 0
     * delivery_status : CUSTOM_AUDIENCE_DELIVERY_STATUS_NEED_PUBLISH
     * upload_num : null
     * cover_num : 0
     * data_source_id : null
     */
    @NoArgsConstructor
    @Data
    @ApiModel(value = "获取人群包列表返回参数实体")
    public static class DataBean {
        @ApiModelProperty(value = "人群包状态，详见【附录-DMP相关-人群包状态】")
        private String status;
        @ApiModelProperty(value = "人群包名称")
        private String name;
        @ApiModelProperty(value = "人群包ID")
        private Long custom_audience_id;
        @ApiModelProperty(value = "人群包来源，详见【附录-DMP相关-人群包来源】")
        private String source;
        @ApiModelProperty(value = "人群分组")
        private String tag;
        @ApiModelProperty(value = "1已删除，0未删除")
        private int isdel;
        @ApiModelProperty(value = "人群包可投放状态，只有当状态为CUSTOM_AUDIENCE_DELIVERY_STATUS_AVAILABLE时才可进行投放使用\n" +
                "        可选值：\n" +
                "        CUSTOM_AUDIENCE_DELIVERY_STATUS_AVAILABLE（可投放，人群包发布完成且推送完成）\n" +
                "        CUSTOM_AUDIENCE_DELIVERY_STATUS_NEED_PUSH（不可投放，人群包发布完成，但未推送，需要进行推送后再使用）\n" +
                "        CUSTOM_AUDIENCE_DELIVERY_STATUS_NEED_PUBLISH（不可投放，群包未发布但已推送，需要进行发布后再使用）\n" +
                "        CUSTOM_AUDIENCE_DELIVERY_STATUS_UNAVAILABLE（不可投放，未发布完成且未推送）")
        private String delivery_status;
        @ApiModelProperty(value = "上传类型人群包包含人群数目")
        private Long upload_num;
        @ApiModelProperty(value = "人群包覆盖人群数目")
        private Long cover_num;
        @ApiModelProperty(value = "数据源ID")
        private String data_source_id;
        @ApiModelProperty(value = "人群包列表数据")
        private String[] custom_audience_list;
    }
}